#include <malloc.h> требуется только для объявления функции char *sbrk(incr); int incr; количество добавляемых или вычитаемых байтов
Описание.
Функция sbrk переустанавливает значение разрыва для вызванного процесса. Значением разрыва является адрес первого байта захваченной памяти. Функция sbrk добавляет incr байты к значению разрыва; соответственно этому устанавливается размер захватываемой памяти.
Замечание.
Incr может быть отрицательным, тогда количество захваченной памяти уменьшается на incr байтов.
Возвращаемое значение.
Функция sbrk возвращает старое значение разрыва. Возвращаемое значение -1 указывает на ошибку и errno устанавливается в ENOMEN , указывая, что осталось недостаточно памяти.
Замечание.
В компактной, большой и huge-моделях программ функция sbrk отсутствует и возвращает значение -1. В больших моделях программ для захвата используется функция malloc.
Пример:
#include <malloc.h> #include <stdio.h> /* захватывает память в 100 байт */ char *alloc; alloc=sbrk(100); . . . /* уменьшает захваченную память до 60 байт */ if (alloc != (char)-1) sbrk(-40);